1. Field of the Invention
This invention relates generally to computer systems. More particularly, the invention relates to a proximity sensor based control system used to prevent a computer program such as a screen saver and/or a password protection program from being activated while an operator remains present in the vicinity of a computer.
2. Description of the Related Art
Screen savers are well known in the art of computer systems. Desktop computers such as personal computers and workstations use screen savers to display an image or animation after a period of user inactivity. Likewise, laptop computers and some personal digital assistants (PDAs) also employ screen saver technology. Screen savers are employed to prevent long-term damage which would otherwise be experienced by a computer display monitor if a single pattern such as a menu interface to an operating system were constantly displayed. Computer programs designed for use in office environments commonly display a password dialog box as a part of the screen saver image or as a stand-alone function. Password protection advantageously safeguards sensitive information held within a computer system during intermediate periods of time when the user has left the work area. Password protection with user inactivity activation allows the worker to leave the work area without needing to log out of a session with the computer. This increases security, because the user will often neglect to log out of the computer when leaving the work area to attend a meeting, eat lunch or perform other tasks away from the work area. On the other hand, the user may desire to log out of the computer session at the end of the workday.
Screen savers and password protection programs are typically activated by sensing a period of user inactivity. For example, such programs may be activated after a period of time has elapsed as measured from the last time the user has provided input to the computer using a keyboard and/or a mouse. One common method of controlling computer program activation is to use a timer. The timer is reset when an input is detected from the keyboard or the mouse. The timer is essentially a counter which counts for a predetermined number of clock cycles. After the timer has reached a predetermined count, the timer is said to xe2x80x9ctime-out.xe2x80x9d Typically, the timer generates a xe2x80x9ctime-out signalxe2x80x9d upon time-out. The amount of time required for the timer to produce the time-out signal is called a xe2x80x9ctime-out period.xe2x80x9d Often the time-out signal is coupled to provide an interrupt to a central processing unit within the computer. When the time-out signal is detected, an interrupt request signal is provided to the central processing unit which in turn activates the screen saver and/or password protection program. Once the timer begins counting, if the user provides another input via the keyboard or the mouse, the timer is reset and begins counting anew. Thus the screen saver and/or password protection program will not be activated when the user is actively working with the computer. The screen saver and/or password protection program will only be activated after the user has remained inactive for the duration of the prespecified time-out period. The same holds true for other user activity controlled programs such as password protection programs and on-line connection programs. An on-line connection program is a program which initiates and/or deactivates a communication connection. For example, when a user has not sent any input to an on-line connection port for the duration of a time-out period, the on-line connection program will deactivate the connection so as to free up the connection port.
User activity controlled program technology as currently implemented in the art has some attendant problems. Users often become annoyed at the side effects inherent in the existing technology. For example, in the case of screen savers, while the user is actively working within his or her work area, several interruptions may occur which divert the user""s attention from the computer""s keyboard or mouse. In some instances the user may be involved with paperwork, a telephone call or a face-to-face interaction with a customer or colleague. In all such cases, time-out period may elapse and cause the screen saver to be activated. When the user returns to the computer desiring to interact with the operating system""s user interface, the user is instead faced with a screen saver. In cases where the user needs to reenter a password, this is more than a mild annoyance. The password feature is useful in protecting the user""s sensitive data when the user has left the work area for an extended period, but is more of a nuisance when the user has merely turned away to attend to another task such as a telephone call.
Hence there is a need for a user activity controlled program technology which can control the activation of a computer program without the aforementioned problems. For example, it would be desirable to have a screen saver which could provide a screen saving functionality without being activated while a user remains within the work area. It would be desirable for the computer to detect the physical presence of the user, and to use this detection to prevent a screen saver from activating. It would be desirable to include new timer algorithms adapted for use with this detection. Moreover, it would also be beneficial to provide intelligent screen saver activation control without the need to modify existing computers, screen saver software, or operating systems. It would also be desirable to integrate such a screen saver into computer hardware and software in order to provide efficient and ergonomic implementations. Systems and techniques are also needed to provide for low cost solutions as well as systems with extended functionality. Moreover, it would be desirable to have a user activity controlled program technology which could be used to activate various types of programs other than screen saver programs. Such a technology could be used, for example, to control the activation of password protection programs and online connection control programs.
The present invention solves these and other problems by providing methods and apparatus which detect the physical presence of a user and use this detection to control the activation of a user activity controlled program such as a screen saver or a password program. In a first aspect, the present invention involves an interface system which can be coupled to a computer. This system is operative to detect the physical presence of a user via a proximity sensor and to transmit a signal indicative of the presence of the user to prevent a computer program from being activated. The proximity sensor is operatively coupled to this interface system. The interface system includes a control module such as a microcontroller which causes information to be transmitted based on an output signal provided by the proximity sensor to prevent the activation of the computer program. The transmitted information is preferably embodied as a signal containing at least one bit of information designated by a logic-one voltage level, a logic-zero voltage level, or a transition therebetween. A typical value for logic-one is five volts and a typical value for logic-zero is zero volts. Typically, the transmitted information includes a sequence of bit values to form a coded command signal indicative of a mouse movement or a keyboard stroke. In one embodiment, this apparatus is supplied as an interface system which may be interposed between a computer port such as a mouse port and an input device such as a mouse. The present invention may be used to control various types of computer programs such as screen saver programs and/or password programs.
In a second aspect of the present invention, a timer is included in the interface system. When a timer is used, the interface system is operative to monitor a signal supplied by a user input-output device and monitor a signal supplied by a proximity sensor. The proximity sensor provides a signal indicative of the physical presence of a user. The system allows a computer program to be placed in a foreground state after a prespecified time duration has passed since both the user-input signal and the proximity-sensor signal have been inactive.
A third aspect of the present invention involves methods of deactivating a computer program. In a first step, the physical presence of a user is detected via a first proximity sensor. In a second step, the user is identified using at least one other proximity sensor. In a third step, a control signal is generated indicating to deactivate the computer program when the user has been identified as an authorized user. In one embodiment, the computer is a screen saver program with password protection, and in another embodiment the computer program is a stand-alone password protection program.
A fourth aspect of the present invention involves a software system for use on computers and related computerized equipment. The software system involves a background-processing module coupled to receive inputs from a user input-output device and a proximity sensor. The software system also includes a foreground-processing module which is activated in response to a control signal generated by the background-processing-module. The background-processing module maintains a timer indicative of the amount of time since a user has last applied an input via the user input-output device. The background module also accepts an input from the proximity sensor and causes the foreground-processing module to be activated. The foreground process is activated when both the timer indicates no user input has been received via the user input-output device for a prescribed amount of time and the proximity sensor indicates no user is present.